package xkp.lesson5;

public class Demo1 {
	public static void main(String[] args) {
		//StringBuilder最开始会初始化一个长度为16的字符数组
		//表示初始化容量为16
		//容量与实际存放的数量是不一样的
		StringBuilder builder1 = new StringBuilder();
		//如果带的有值，则容量为字符串长度+16
		StringBuilder builder2 = new StringBuilder("123");
		//System.out.println(builder.toString().length());
		//不管是String还是StringBuilder都是通过字符数组存储数据
		//StringBuilder最开始会初始化一个长度为16的字符数组
		//表示初始化容量为16
		
		
		String str = "";
		for(int i = 1; i <= 1000; i++) {
			//注意：此处str的值在不断的发生变化
			//问题：str的值变化的流程是先与原有值断开连接，再去指向新的值。
			//在频繁改变字符串的值时会出现内存消耗问题
			str = str+i;
		}
		System.out.println(str);
		
		
		StringBuilder builder = new StringBuilder();
		for(int i = 1; i <= 1000; i++) {
			//注意：StringBuilder在拼接字符串时不会产生新的对象
			builder.append(i);
		}
		System.out.println(builder.toString());
	}

}
